﻿<!DOCTYPE HTML>
<html lang="zh">
<head>
<title>设置窗口透明度 - 语法 &amp; 使用 | AutoHotkey v2</title>
<meta name="description" content="The 设置窗口透明度 function makes the specified window semi-transparent." />
<meta name="ahk:equiv-v1" content="commands/WinSet.htm#Transparent" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link href="../static/theme.css" rel="stylesheet" type="text/css" />
<script src="../static/content.js" type="text/javascript"></script>
<script type="text/javascript">$(function(){0<=window.navigator.userAgent.toLowerCase().indexOf("ucbrowser")&&CaoNiMaDeUc()})</script>
</head>
<body>

<h1>设置窗口透明度</h1>

<p>使指定的窗口半透明.</p>

<pre class="Syntax"><span class="func">设置窗口透明度</span> <span class="optional">N, WinTitle, WinText, ExcludeTitle, ExcludeText</span></pre>

<h2 id="Parameters">参数</h2>
<dl>
    <dt>N</dt>
    <dd>
        <p>类型: <a href="../Concepts.htm#numbers">整数</a>或<a href="../Concepts.htm#strings">字符串</a></p>
        <p>要启用透明度, 请指定一个 0 到 255 之间的数字, 以表示透明度: 0 表示完全透明, 而 255 表示完全不透明.</p>
        <p>单词 <code>"Off"</code>(不区分大小写) 可以完全关闭窗口的透明度. 这在功能上与 <code><a href="WinSetTransColor.htm">设置窗口透明色</a> "Off", <i>WinTitle</i></code> 相同. 指定 <code>"Off"</code> 与指定 255 的区别是, 这样可以提升性能并降低系统资源的占用(但可能仅在禁用 DWM 时).</p>
    </dd>
    <dt>WinTitle</dt>
    <dd>
        <p>类型: <a href="../Concepts.htm#strings">字符串</a>, <a href="../Concepts.htm#numbers">整数</a>或<a href="../Objects.htm">对象</a></p>
        <p>识别目标窗口的窗口标题或其他条件. 请参阅 <a href="../misc/WinTitle.htm">WinTitle</a>.</p>
    </dd>
    <dt>WinText</dt>
    <dd>
        <p>类型: <a href="../Concepts.htm#strings">字符串</a></p>
        <p>如果存在, 此参数必须是目标窗口的单个文本元素的子字符串(和内置的 Window Spy 工具显示的一样). 如果 <a href="DetectHiddenText.htm">检测隐藏文本</a> 为 ON, 那么会检测隐藏文本元素.</p>
    </dd>
    <dt>ExcludeTitle</dt>
    <dd>
        <p>类型: <a href="../Concepts.htm#strings">字符串</a></p>
        <p>标题中含有此参数值的窗口将被排除.</p>
    </dd>
    <dt>ExcludeText</dt>
    <dd>
        <p>类型: <a href="../Concepts.htm#strings">字符串</a></p>
        <p>文本中含有此参数值的窗口将被排除.</p>
    </dd>
</dl>

<h2 id="Error_Handling">错误处理</h2>
<p>如果找不到窗口, 或无法应用更改, 则抛出异常.</p>

<h2 id="Remarks">备注</h2>
<p>例如, 要使任务栏透明, 请使用 <code>设置窗口透明度 150, "ahk_class Shell_TrayWnd"</code>. 类似地, 要使经典的开始菜单透明, 请参阅<a href="#ExTransStartMenu">示例 #1</a>. 要使开始菜单的子菜单透明, 还需要包含<a href="#ExTransMenu">示例 #2</a> 中的脚本.</p>
<p>在使用 <code>"Off"</code> 之前, 将透明级别设置为 255, 可以避免窗口重绘问题, 比如黑色背景. 如果窗口仍无法正确重绘, 那么请参阅 <a href="WinRedraw.htm">重绘窗口</a> 了解可能的解决方法.</p>
<p>鼠标光标下的窗口的 ID 可以使用 <a href="MouseGetPos.htm">获取鼠标位置</a> 来获取.</p>
<p>窗口标题和文本是区分大小写的. 除非 <a href="DetectHiddenWindows.htm">检测隐藏窗口</a> 被打开, 否则不会检测隐藏窗口.</p>

<h2 id="Related">相关</h2>
<p><a href="WinSetTransColor.htm">设置窗口透明色</a>, <a href="Win.htm">Win 函数</a>, <a href="Control.htm">Control 函数</a></p>

<h2 id="Examples">示例</h2>
<div class="ex" id="ExTransStartMenu">
<p><a href="#ExTransStartMenu">#1</a>: 使经典开始菜单透明(若要使开始菜单的子菜单透明, 请参阅<a href="#ExTransMenu">示例 #2</a>):</p>
<pre>检测隐藏窗口 True
设置窗口透明度 150, "ahk_class BaseBar"</pre>
</div>

<div class="ex" id="ExTransMenu">
<p><a href="#ExTransMenu">#2</a>: 要使整个系统上的所有或选定的菜单都透明, 请保持如下所示的脚本始终运行着. 请注意, 尽管这样的脚本不能使自己的菜单透明, 但它可以使其他脚本的菜单透明:</p>
<pre>设置定时器 "WatchForMenu", 5

WatchForMenu()
{
    检测隐藏窗口 True  <em>; 可以更早的检测菜单.</em>
    如果 窗口存在("ahk_class #32768")
        设置窗口透明度 150  <em>; 使用上面一行找到的窗口.</em>
}</pre>
</div>

<div class="ex" id="ExTransHotkey">
<p><a href="#ExTransHotkey">#3</a>: 这里是一些演示 设置窗口透明度 和 <a href="WinSetTransColor.htm">设置窗口透明色</a> 效果的一些热键. 注意: 如果在鼠标光标悬停在 TransColor 造成的不可见的像素上时按下其中一个热键, 则这个像素下面可见的窗口将会被替代!</p>
<pre>#t::  <em>; 按下 Win+T 来让鼠标光标下的颜色透明.</em>
{
    获取鼠标位置 MouseX, MouseY, MouseWin
    MouseRGB := 获取像素颜色(MouseX, MouseY)
    <em>;  似乎有必要首先关闭任何现有的透明度:</em>
    设置窗口透明色 "Off", MouseWin
    设置窗口透明色 MouseRGB " 220", MouseWin
}

#o::  <em>; 按下 Win+O 来关闭鼠标下窗口的透明度.</em>
{
    获取鼠标位置 ,, MouseWin
    设置窗口透明色 "Off", MouseWin
}

#g::  <em>; 按下 Win+G 来显示鼠标下窗口的当前透明设置.</em>
{
    获取鼠标位置 ,, MouseWin
    Transparent := 获取窗口透明度(MouseWin)
    TransColor := 获取窗口透明色(MouseWin)
    工具提示 "Translucency:`t" Transparent "`nTransColor:`t" TransColor
}</pre>
</div>

</body>
</html>